본문으로 건너뛰기

15장 마치며

1. 리액트 프로젝트를 시작할 때 고려해야 할 사항​

1. 서비스의 유지보수를 고려한다면​

  • 16.8 버전에서 처음 훅이 소개됐고, 덕분에 함수 컴포넌트의 개념이 정립됐다.

  • 17 버전은 새로운 기능 출시 및 호환성이 깨지는 변경 사항을 최소한으로 맞춘 업데이트이므로 가능하면 17버전으로 가는 것도 좋다.

  • 리액트 팀에서 밝힌 바로, 클래스 컴포넌트는 사라지지 않기 때문에 반드시 리팩터링 할 필요는 없다.


2. 인터넷 익스플로러 11 지원 여부​

  • 리액트: 18 버전부터 지원하지 않는다.

  • Next.js: 13 버전부터 지원하지 않는다.

  • query-string: 6.x 버전부터 지원하지 않는다.


3. 서버 사이드 렌더링 애플리케이션 지향​

  • 제한적인 사용자에게 빠르게 웹 페이지를 전달하거나 소규모 웹 페이지를 만드는 경우 싱글페이지 어플리케이션을 추천한다.

  • 많은 사용자를 감당해야 하고, 혹은 그럴 계획이 있다면, 서버를 준비할 수 있는 충분한 여유가 된다면 시작부터 서버 사이드 렌더링을 고려하는 것이 좋다.


4. 상태 관리 라이브러리는 필요할 때만​

  • 번들링 크기가 커지기 때문에, 관리해야 할 상태가 많고, 여러 상태를 합성해서 새로운 상태를 파생해야 하는 경우에 사용을 고려해본다.

  • 무작정 상태 관리 라이브러리 하나를 잡고 공부하는 것보다 조금씩 점진적으로 상태와 상태 관리의 필요성을 깨닫는 것이 더 좋다.


5. 리액트 의존성 라이브러리 설치를 조심​

  • peerDependencies가 설치하고자 하는 프로젝트의 리액트 버전과 맞는지 확인해야 한다.

  • 버전이 맞지 않다면 정상적인 방법으로 설치가 불가능하고, 설령 억지로 설치한다 하더라도 향후 문제를 일으킬 가능성이 크다.


2. 언젠가 사라질 수도 있는 리액트​

Svelte와 Vue에 비해 학습 난이도가 높은 편이고, 공식 문서의 클래스 컴포넌트와 함수 컴포넌트가 혼란을 줄 수 있다. CSS와 라이브러리의 높은 자유도로 인해 선택이 복잡해지는 것도 진입 장벽이 될 수 있다.


3. 웹 개발자로서 가져야 할 유연한 자세​

  • 웹 어셈블리와 같이 완전히 새로운 개념이 도입될 수도 있지만, 한 가지 변하지 않는 사실은 모든 웹 개발이 HTML, CSS, 자바스크립트라는 토대 위에 세워졌다는 것이다.

  • 리액트가 과거의 다른 프레임워크에 비해 조금 더 많은 인기와 전성기를 구가하고 있는 것은 사실이지만 그렇다고 웹 개발이 결국 모두 리액트로 통일되는 미래가 온다는 것은 아니다. 웹 사이트는 리액트로 돼 있는 것보다 리액트가 아닌 것으로 만들어진 것이 훨씬 더 많다.


작성하고 느낀 점​

좋았던 점: 952 페이지 분량의 책을 전부 읽고 정리했다. 3주간 문서화 하며 알던 것을 복습했고, 보다 새롭게 알게된 것이 많았다.

배운 점: 리액트를 배울 때 시야가 넓어지는 책이다. 기능을 만드는 데 열중하기 보다 이해를 기반으로 애플리케이션을 만들어야 하는 것을 배웠다.

아쉬운 점: 처음 보는 개념에 대한 근본적인 이해가 부족해 다른 문서를 찾거나 AI를 사용했지만 잘 만든 프로젝트의 예시를 보지 않는 이상 이해할 수 없는 파트가 존재한다.

향후 계획: 현장에서 리액트를 사용하는 예를 찾아보며 좋은 예제를 수집할 것이다.